$(function () {
    layui.use(['laydate', 'form', 'table'], function () {
        let table = layui.table;
        let layer = layui.layer;
        let $ = layui.jquery;

        table.render({
            elem: '#productType'
            , url: '/admin/productType/findAll'
            , cellMinWidth: 80 //全局定义常规单元格的最小宽度，layui 2.2.1 新增
            , page: true
            //分页
            , parseData: function (res) { //将原始数据解析成 table 组件所规定的数据，res为从url中get到的数据
                let result;

                //(前端来实现)分页方法一：
                //这是前台 用res.data接受全部数据 再根据当前页的条件从全部数据中选取一部分数据显示出来
                if (this.page.curr) {
                    //若为第二页 则curr为2 页面显示的数据就是从res.data集合数组里的 （2-1）*limit（10）=10 到 limit（10）*2=20的数据
                    result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);
                } else {
                    // 一开始就是第一页 则就是 显示的数据就是从res.data集合数组里的0到limit（10）中
                    result = res.data.slice(0, this.limit);
                }
                return {
                    "code": res.code, //解析接口状态
                    "msg": res.msg, //解析提示文本
                    "count": res.count, //解析数据长度
                    "data": result //解析数据列表
                };
            }
            , cols: [[
                {field: 'id', width: '9%', title: 'ID', align: 'center', sort: true}
                , {field: 'productTypeName', width: '9%', align: 'center', title: '产品类型'}
                , {field: 'createTime', title: '创建时间', align: 'center', width: '13%', sort: true} //minWidth：局部定义当前单元格的最小宽度，layui 2.2.1 新增
                , {field: 'updateTime', title: '更新时间', align: 'center', width: '13%', sort: true}
                , {field: 'remark', title: '备注', width: '17%'}
                , {
                    field: 'enable',fixed: 'right', width: '9%', align: 'center', title: '状态', templet: function (e) {
                        if (e.enable === 1)
                            return '已启用'
                        else
                            return '未启用'
                    }
                }
                , {fixed: 'right', title: '操作', width: '20%', align: 'center', toolbar: '#barDemo'}
            ]]
        });
        //监听工具条
        table.on('tool(demo)', function (obj) {
            let data = obj.data;
            //修改状态
            if (obj.event === 'changeEnable') {
                changeEnable(data);
                //删除
            } else if (obj.event === 'del') {
                productType_del(data)
                //修改信息
            } else if (obj.event === 'edit') {
                xadmin.open('修改导航栏', './productTypeEdit.html', 600, 400)
                sessionStorage.setItem('productTypeId', data.id);
            }
        });
    });

    /*产品类型-修改状态*/
    function changeEnable(data) {
        layer.confirm('确认要修改吗？', function () {
            let enable = data.enable;
            if (enable === 1)
                data.enable = 0;
            else
                data.enable = 1;
            $.post({
                url: '/admin/productType/updateEnable',
                data: data,
                dataType: 'json',
                success: function (res) {
                    if (res.code === 0) {
                        layer.alert("修改成功", {
                                icon: 6
                            },
                            function (index) {
                                //关闭当前alert
                                layer.close(index);
                                // 可以对父窗口进行刷新
                                xadmin.father_reload();
                            });
                    } else {
                        layer.alert("修改失败", {
                                icon: 7
                            },
                            function (index) {
                                //关闭当前alert
                                layer.close(index);
                            })
                    }
                }
            })
            // if ($(obj).attr('title') == '启用') {
            //
            //     //发异步把用户状态进行更改
            //     $(obj).attr('title', '停用')
            //     $(obj).find('i').html('&#xe62f;');
            //
            //     $(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
            //     layer.msg('已停用!', {icon: 5, time: 1000});
            //
            // } else {
            //     $(obj).attr('title', '启用')
            //     $(obj).find('i').html('&#xe601;');
            //
            //     $(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用');
            //     layer.msg('已启用!', {icon: 5, time: 1000});
            // }
            return false;
        });
    }

    /*产品类型-删除*/
    function productType_del(data) {
        layer.confirm('确认要删除吗？其下所有产品将禁用且放入第一个类型中！', function () {
            //发异步删除数据
            $.post({
                url: '/admin/productType/delete',
                data: 'id='+data.id,
                dataType: 'json',
                success: function (res) {
                    if (res.code === 0) {
                        layer.msg('已删除!', {icon: 6, time: 1000});
                        // 可以对窗口进行刷新
                        setTimeout(function (){
                            location.reload();
                        },1000)
                    } else {
                        layer.msg('删除失败', {icon: 7, time: 1000})
                    }
                }
            })
        });
    }
})